STRUCTURI DE DATE
CUPRINS
1. Introducere
2. Tipuri de date si date elementare
2.1 Date si informatii
2.2 Clasificari ale datelor
2.3 Modele de prezentare a datelor
2.4 Cerinte de definire a datelor
2.5 Cerinte de initializare si utilizare
2.6 Cerinte de lizibilitate a programului
3. Programare orientata obiect
3.1 Abstractizarea datelor. Clasa si obiect
3.2 Definirea si instantierea unei clase
3.3 Functii membre. Pointerul this. Constructor. Destructor. Operator =
3.4 Masive de obiecte
3.5 Separarea interfetei de implementare. Supraincarcarea operatorilor
3.6 Derivarea claselor si functii virtuale
3.7 Functii si clase template
4. Masivele - structuri de date omogene si contigue
4.1 Masive unidimensionale
4.2 Masive bidimensionale
4.3 Insiruirea masivelor bidimensionale
4.4 Operatii cu masive bidimensionale
4.5 Masive multidimensionale
5. Functii de prelucrare cu masive
5.1 Functii de intrare-iesire
5.2 Proceduri de calcul
5.3 Functii de comparare
5.4 Funcţii de prelucrare
5.5 Lucrul cu masivele vazute ca vectori
6. Matrice rare
6.1 Concepte de baza
6.2 Memorarea matricelor rare
6.3 Determinarea gradului de umplere al unei matrice rare
6.4 Software orientat spre lucrul cu matrice rare
6.5 Adunarea, scaderea si transpunerea
6.6 Inmultirea si inversarea matricelor rare
6.7 Tipuri particulare de matrice rare
6.8 Estimarea parametrilor unei regresii statistice folosind clasa MR
7. Articolul-structura de date neomogena si contigua
7.1 Structuri de date pozitionale
7.2 Structuri de date ierarhizate
7.3 Vectori de structuri si structuri de vectori
8. Variabile pointer
8.1 Tipul variabilei pointer
8.2 Aritmetica variabilelor pointer
8.3 Niveluri de indirectare
8.4 Vectori si matrice de pointeri
8.5 Variabile de tip pointer si structurile de date de tip articol
8.6 Definirea si utilizarea variabilelor pointer in limbajul C++
9. Reuniunile de date contigue
9.1 Necesitatea restructurarii datelor
9.2 Funcţia de reunire
9.3 Zonele de memorie tampon-gazde ale reuniunilor de date contigue
10. Listele - structuri dinamice necontigue
10.1 Consideratii privind structurile de date de tip lista
10.2 Lista simplu inlantuita
10.2.1 Crearea listelor. Insertia nodurilor
10.2.2 Localizarea unui nod
10.2.3 Suprimarea nodurilor
10.3 Lista circulara simplu inlantuita
10.4 Structuri de date dinamice necontigue
10.5 Modelul grafic al listei ca structura necontigua
10.6 Operatii cu liste liniare simplu inlantuite
10.7 Liste dublu inlantuite
11. Stive si cozi
11.1 Consideratii privind structurile de date de tip stiva si coada
11.2 Caracteristicile structurilor de date de tip stiva
11.3 Operaţii de baza cu stive
11.4 Evaluarea expresiilor matematice cu ajutorul stivei si cozii
12. Arbori binari si arbori de cautare
12.1 Structura de date de tip arborescent
12.2 Transformarea arborilor oarecare in arbori binari
12.3 Arbori binari de cautare
12.4 Aplicatii care utilizeaza structura de date de tip arbore binar cautare
13. Arbori B
13.1 Arbori B. Definitie. Proprietati
13.2 Operatii de baza intr-un arbore B
13.3 Algoritmii C++ pentru inserarea unei valori de cheie intr-un arbore B
13.4 Algoritmii C++ pentru stergerea unei valori de cheie intr-un arbore B
14. Arbori echilibrati
14.1 Echilibrarea structurilor arborescente
14.2 Caracteristici ale arborilor AVL
14.3 Operatii pe arbori AVL
14.4 Caracteristici ale arborilor Rosu & Negru
14.5 Operatii pe arbori Rosu & Negru
15. Heap
15.1 Structura de tip Heap
15.2 Implementarea structurii Heap
15.3 Cozi de prioritate
15.4 Sortarea datelor prin HeapSort
16. Grafuri
16.1 Structura de date de tip graf
16.2 Implementarea grafului
16.3 Traversarea unui graf
16.4 Închiderea tranzitivă a grafului
16.5 Problema drumului de lungime minimă în graf
16.6 Operaţii de concatenare şi deconcatenare cu grafuri
17. Tabele de dispersie
17.1 Structura de date de tip tabela de dispersie
17.2 Chei si functii hash
17.3 Evitarea coliziunilor
17.4 Implementare
18. Fisiere
18.1 Structuri de date externe
18.2 Criterii de clasificare a fisierelor
18.3 Fisiere secventiale
18.4 Fisiere secvential-indexate
18.5 Fisiere aleatoare
18.6 Fisiere interdependente
18.7 Fisiere inlantuite
18.8 Fisierele bazei de date
19. Expresii de definire si referire ale structurilor de date
19.1 Construirea expresiilor
19.2 Expresii de definire
19.3 Expresii de referire
19.4 Expresii ale structurilor agregate
20. Standard Template Library - STL
20.1 Structura STL
20.2 Containere STL
20.3 Iteratori STL
20.4 Algoritmi STL
21. Conversii ale structurilor de date
21.1 Procese de conversie
21.2 Conversie masiv unidimensional - lista simpla sau lista dubla
21.3 Conversie masiv bidimensional - masiv unidimensional
21.4 Conversie listă simpla - fisier
21.5 Conversie fisier - lista simpla
21.6 Conversie arbore binar - fisier
21.7 Conversie graf - matrice
21.8 Omogenitatea prelucrarilor
21.9 Resursele conversiilor
22. Utilizarea structurilor de date in clonarea informatica
22.1 Conceptul de ortogonalitate a elementelor
22.2 Indicatori ai diferentelor masurate dintre proceduri
22.3 Structura software pentru analiza calitativa a noilor elemente incluse in baze de date
23. Compactarea si compresia datelor
23.1 Parametrii stocarii datelor
23.2 Compactarea la nivel de caracter
23.3 Compactarea la nivel de cuvant
23.4 Compactarea prin analiza caracteristicilor textului
23.5 Compactare prin asocierea unor coduri ce permit eliminarea separatorilor
23.6 Compactarea prin identificarea de subsiruri repetitive
23.7 Compactarea programelor date in forma executabila
23.8 Compactarea datelor numerice
23.9 Programe care efectueaza compactarea
24. Utilizarea structurilor de date in compresia datelor
24.1 Coduri de lungime fixa
24.2 Coduri de lungime variabila
24.3 Structuri de seturi de date
24.4 Indici de evaluare
24.5 Alegerea algoritmului de compresie
24.6 Rezultate experimentale
25. Procese de agregare software
25.1 Componente software
25.2 Agregarea pe orizontala
25.3 Agregarea pe verticala
25.4 Ortogonalitatea software agregat
25.5 Optimizarea in procese de agregare
25.6 Rezultate experimentale
26. Utilizarea structurilor de date in testarea software
26.1 Generatoare de date de test (GDT)
26.2 Generator de fisiere de test
26.3 Generatoare de matrice de test
26.4 Fisiere date de test livrate
26.5 Testarea programelor cu structuri statice
26.6 Particularitati ale testarii programelor cu structuri dinamice
26.7 Procese de testare pentru programele cu structuri agregate
27. Managementul calitatii datelor si a structurilor de date
27.1 Volumul datelor
27.2 Caracteristicile de calitate a datelor
27.3 Metricile datelor
27.4 Managementul calitatii datelor
27.5 Costul datelor
28. Structuri de date si acces in baze de date
28.1 Stocarea datelor
28.2 Concepte generale de organizare a fisierelor
28.3 Fişiere secvenţiale
28.4 Indecşi
28.5 Fisiere indexat secventiale
28.6 Fisiere indexate
28.7 Fisiere cu dispersie
29. Structuri folosite in procese de cautare
29.1 Tipologii de aplicatii
29.2 Chei de regasire
29.3 Algoritmi de cautare
29.4 Mecanisme flexibile de regasire
30. Structuri de date in securizarea informatiei
30.1 Structuri si algoritmi utilizati in securizarea informatiei
30.2 Structuri de date la nivelul operaţiilor matematice
30.3 Structuri de date la nivelul etapelor algoritmului de criptare/decriptare
30.4 Structuri de date la nivelul de cifru al algoritmului
30.5 Structuri de date la nivelul protocoalelor de transmisie a datelor şi al memorarii certificatelor publice
31. Complexitatea structurilor de date
31.1 Noţiunea de complexitate
31.2 Modelarea matematica a complexitatii algoritmilor
31.3 Clase de complexitate
31.4 Metode de calcul pentru indicatorii de complexitate
32. Gradul de ocupare a zonei de memorie
32.1 Zone de memorie
32.2 Zone de memorie asociate listelor
32.3 Zone de memorie asociate arborilor
32.4 Zone de memorie asociate grafurilor
32.5 Zone de memorie asociate masivelor
33. Structuri de text uniform
33.1 Text uniform
33.2 Structuri liniare de text uniform
33.3 Structuri arborescente de text uniform
33.4 Agregarea structurilor
33.5 Complexitatea structurilor de text uniform
34. Inspectia software
34.1 Audit informatic
34.2 Necesitatea si obiectivele inspectiei software
34.3 Locul inspectiei software in cadrul auditului informatic
34.4 Structura echipei de inspectie software
34.5 Planificarea inspectiei software
34.6 Etapa de prezentare
34.7 Etapa de pregatire a inspectiei
34.8 Etapa de intalnire
34.9 Etapa de refacere
34.10 Etapa de verificare a refacerii
34.11 Elaborarea rapoartelor de inspectie
34.12 Inspecţie software automata
35. Modelul de date XML
35.1 Documente XML
35.2 Modele XML
36. Bilete de examen date in anii trecuti
37. Subiecte propuse
Bibliografie
Anexa 1 Functii de prelucrare a structurilor de date
Anexa 2 Determinarea stabilitatii domeniului Structuri de Date
REVENIRE